Tool-supported identification of functional concerns in object-oriented code
نویسنده
چکیده
location kind Encoding class field ‘F’ formal parameter ‘P’ object context ‘O’ return value ‘R’ local value ‘L’ exception parameter ‘E’ object creation ‘T’ Table 4.1: Encoding of abstract location kinds The qualified unique name of the abstract location is defined as the simple name of the abstract location prefixed with the qualified unique name of the entity containing it. Class fields are prefixed with the fully qualified name of the containing class, and abstract locations defined inside a method are prefixed with the fully qualified name of the class containing the method, and the signature of the containing method. For unnamed abstract locations representing return values of methods, we use the short name return, and for object context abstract locations, we use the short name this. For object creation abstract locations we use the short name new_x, where x is the order number of the new operator within its containing method or class. Note that in case of the Java programming language, the symbols return, this, and new are reserved keywords, so they cannot serve as names for any named abstract location. As a result, the short names used for the unnamed abstract locations cannot clash with the names of other abstract locations. The · operator in the definition of LV is the simple word concatenation operator. Let V o ⊂V be the set of all abstract locations having a non-primitive data type, and letΛA be an alphabet defined as follows: ΛA = {‘e’}∪ {‘(i ’ | 1≤ i ≤ n}∪ {‘)i ’ | 1≤ i ≤ n} ∪ {‘ o ’ | o ∈V o }
منابع مشابه
Modelsaz: An Object-Oriented Computer-Aided Modeling Environment
Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...
متن کاملObject Identification and Aspect Mining in Procedural Object-Oriented Code
In this dissertation, we present Procedural Object-Oriented Code (POC). POC is the aftermath of the software development activity that involves state of the art object-oriented languages, without employing object-oriented analysis and design. Huge classes, absence of abstractions for domain entities, and shallow inheritance hierarchies are hallmark design defects of procedural object-oriented c...
متن کاملIdentification of Crosscutting Concerns: A Survey
Modularization of concerns is important for software development. Object oriented programming paradigm provides an ease of modularization of basic concerns. There are some concerns whose implementation cannot be modularized using object oriented paradigm like profiling, logging etc. The implementation of such concerns remains scattered throughout the source code. Such concerns are called crossc...
متن کاملRefactoring object oriented software: cross-cutting concerns identification and isolation
The capability of dividing a big problem in smaller, independent and more tractable units is crucial for the success of the project. Object oriented decomposition uses to work well to manage decomposition in a software project. Altough there are some concerns that overcome the object oriented software decomposition schema. These concerns are called cross-cutting concerns. Being able to identify...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملThe Program Analysis Tool for Reuse: Identifying Reusable Components
Software reuse has been demonstrated to increase productivity, reduce costs, and improve software quality. The research that has addressed this problem has concentrated on code created in the functional domain. However, in recent years much object-oriented code has been developed. In many cases eventual reuse of the code was not considered in the software development process, and so even though...
متن کامل